package com.kygeng.springframework.beans.factory.support;

import com.kygeng.springframework.beans.BeansException;
import com.kygeng.springframework.beans.factory.config.BeanDefinition;

import java.lang.reflect.Constructor;

/**
 * @Title: InstrantiationStrategy
 * @Author: kygeng
 * @Package: com.kygeng.springframework.beans.factory.support
 * @Date: 2024/7/21 16:50
 * @Description: bean对象实例化策略（jdk实例化 | cglib实例化）
 */
public interface InstantiationStrategy {

    Object instantiate(BeanDefinition beanDefinition, String beanName, Constructor constructor, Object[] args) throws BeansException;

}
